package com.ollama.study.config;// 包声明：定义该类所属包，必须与文件路径一致（src/main/java/com/springboot/study/config）
import com.ollama.study.filter.Utf8CharacterEncodingFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.StringHttpMessageConverter;
import java.nio.charset.StandardCharsets;
@Configuration
// 定义配置类 EncodingConfig，用于全局字符编码相关的 Bean 配置
public class EncodingConfig {

    // 声明另一个 Bean：用于注册自定义的字符编码过滤器到 Servlet 过滤器链
    @Bean
    // 方法名 encodingFilter：创建并返回 FilterRegistrationBean，从而把 Utf8CharacterEncodingFilter 注册到容器中
    public FilterRegistrationBean<Utf8CharacterEncodingFilter> encodingFilter() {
        // 创建一个泛型为 Utf8CharacterEncodingFilter 的 FilterRegistrationBean 实例
        FilterRegistrationBean<Utf8CharacterEncodingFilter> registrationBean = new FilterRegistrationBean<>();
        // 将自定义的 Utf8CharacterEncodingFilter 设置到 registrationBean 中（实例化过滤器）
        registrationBean.setFilter(new Utf8CharacterEncodingFilter());
        // 设置该过滤器拦截的 URL 模式，这里设置为 "/*" 表示拦截所有请求
        registrationBean.addUrlPatterns("/*");
        // 返回配置好的 registrationBean，由 Spring 容器托管并在启动时注册过滤器
        return registrationBean;
    }
}
